﻿Imports ClasesRestaurante

Public Class FormCliPedidoTotal

    Private pedidoActual As Pedido

    Private Sub FormCliPedidoTotal_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        pedidoActual = PedidosRestaurante(FormCliDetallePedido.nombreUsuario & " - " & Today())

        Limpiar()
        CargarComboBox()
        CargarRichBox()
    End Sub

    Private Sub FormCliPedidoTotal_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated

        pedidoActual = PedidosRestaurante(FormCliDetallePedido.nombreUsuario & " - " & Today())

        Limpiar()
        CargarComboBox()
        CargarRichBox()
    End Sub

    Private Sub Limpiar()

        lblNombre.Text = pedidoActual.NombreCliente
        lblFecha.Text = pedidoActual.FechaPedido
        lblPrecioTotal.Text = pedidoActual.PrecioTotal

        cboProductosPedido.Items.Clear()

        lblPHmodificar.Visible = False
        cboCantidad.Visible = False

        richPedido.BackColor = Color.White

    End Sub

    Private Sub CargarComboBox()

        cboProductosPedido.Items.Clear()

        For i As Integer = 0 To pedidoActual.CantidadProductos.Count - 1
            cboProductosPedido.Items.Add(pedidoActual.CantidadProductos.Keys(i))
        Next

    End Sub

    Private Sub cboProductosPedido_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboProductosPedido.SelectedValueChanged

        lblPHmodificar.Visible = True
        cboCantidad.Visible = True

    End Sub

    Private Sub cboCantidad_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboCantidad.SelectedValueChanged

        If cboCantidad.Text = "00" Then
            pedidoActual.EliminarProducto(cboProductosPedido.Text)
        Else

            If Integer.Parse(cboCantidad.Text) <> pedidoActual.CantidadProductos(cboProductosPedido.Text) Then
                pedidoActual.CambiarCantidad(cboProductosPedido.Text, Integer.Parse(cboCantidad.Text))
            End If

        End If

        PedidosRestaurante(FormCliDetallePedido.nombreUsuario & " - " & Today()) = pedidoActual

        Limpiar()
        CargarComboBox()
        CargarRichBox()

    End Sub

    Private Sub CargarRichBox()

        richPedido.Clear()

        richPedido.SelectionFont = New Font("Street Humouresque", 15, FontStyle.Bold)
        richPedido.SelectedText = pedidoActual.NombreCliente & vbNewLine

        richPedido.SelectionFont = New Font("Street Humouresque", 11, FontStyle.Bold)
        richPedido.AppendText(pedidoActual.FechaPedido & vbNewLine & vbNewLine)

        For i As Integer = 0 To pedidoActual.CantidadProductos.Count - 1

            richPedido.SelectionFont = New Font("Street Humouresque", 13, FontStyle.Bold)
            richPedido.SelectionColor = Color.Orchid
            richPedido.AppendText(pedidoActual.CantidadProductos.Keys(i) & vbNewLine)

            richPedido.SelectionFont = New Font("Street Humouresque", 11, FontStyle.Regular)
            richPedido.SelectionColor = Color.Black
            richPedido.AppendText(pedidoActual.CantidadProductos(pedidoActual.CantidadProductos.Keys(i)) & " unidad/es a ")
            richPedido.AppendText(pedidoActual.PrecioProductos(pedidoActual.PrecioProductos.Keys(i)) & " euro/s cada uno/a son: ")
            richPedido.AppendText((pedidoActual.CantidadProductos(pedidoActual.CantidadProductos.Keys(i)) * pedidoActual.PrecioProductos(pedidoActual.PrecioProductos.Keys(i))) & " euros ." & vbNewLine)

        Next

        richPedido.AppendText(vbNewLine)

        richPedido.SelectionFont = New Font("Street Humouresque", 15, FontStyle.Bold)
        richPedido.AppendText("El precio del pedido es: " & pedidoActual.PrecioTotal & " euros.")

    End Sub

    Private Sub btnHacerPedido_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnHacerPedido.Click

        If MessageBox.Show("Se va a proceder a confirmar tu pedido. ¿Estás seguro?", "CONFIRMACION", MessageBoxButtons.YesNo, MessageBoxIcon.None) = Windows.Forms.DialogResult.Yes Then
            PedidosRestaurante(FormCliDetallePedido.nombreUsuario & " - " & Today()).Confirmado = True
            Me.Close()
            FormCliDetallePedido.Close()
        End If

    End Sub

End Class